Packet switched communication networks are steadily expanding in both fields of wired and wireless communications. With the increasing demand for data packet services the networks' loads as well as their capacities are growing. For some services the demand for data can be higher than the capacity of a single server or data source. Therefore, some capacity enhancement concepts foresee using multiple network entities, as e.g. server farms, to provide the same service. The demand and the associated traffic load can then be shared among these network entities providing the same data service using load balancing.
Load balancers are a widely used solution to scale service provisioning in the Internet, and specifically for the World Wide Web (WWW for abbreviation) using the Hyper Text Transfer Protocol (HTTP for abbreviation). These, mostly based on the Internet Protocol (IP for abbreviation), WWW services cannot be provided by a single server if they become popular, as the resulting utilization may easily overload even a powerful server device. One widely deployed solution is to distribute the load among several servers, either in a single server farm, or among geographically distributed servers. A “load balancer” is a network entity that can distribute incoming service requests, e. g. Transmission Control Protocol (TCP for abbreviation) connections or HTTP requests, to one out of several servers. The actual dispatching to a server can be realized by different methods. On the one hand, this includes intelligent use of link layer addresses and/or packet rewriting techniques that translate address and port fields. These solutions are transparent to a terminal; i. e. the client does not notice that a service is served by more than one server. On the other hand, there are mechanisms such as HTTP redirection, content rewriting, or Domain Name System (DNS for abbreviation) based load balancing, which are not transparent.
Some existing load balancer solutions are designed for standard TCP connections. For multimedia services there may also be equivalent load balancers for Universal Datagram Protocol (UDP for abbreviation) traffic. In the following TCP-based services will be considered. The Internet Engineering Task Force (IETF for abbreviation) currently standardizes Multipath TCP (MPTCP for abbreviation) as a TCP extension that uses several coupled connections, which are also called “subflows”, in order to enable concurrent data transfers over several potentially disjoint paths. An individual subflow is similar to a TCP connection, but typically only transports a subset of the data. Multipath TCP is transparent to applications, which can access a session consisting of several subflows, or data packets which are associated with each other, like a single TCP connection.